//
//  NSString+LILExtension.h
//  LILTools
//
//  Created by xl on 2023/11/4.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface NSString (LILExtension)

/// 如果字符串包含汉字则返回YES，否则返回NO。
- (BOOL)lil_containChinese;

/// 将时间戳格式化为可视字符串。
/// @discussion 和系统当前时间进行对比，如果时间戳为0则返回 @"刚刚"；
/// 如果需要比较的时间戳比当前时间戳更新则返回 @“刚刚”。
/// @param timestamp 需要格式化的时间戳，时间戳必须是以秒为单位。
/// @code
/// 1分钟内 => 刚刚
/// 60分钟内 => XX分钟前
/// 24小时内 => XX小时前
/// 7天内 => XX天前
/// 今年内 => XX月XX日
/// 今年外 => XXXX年XX月XX日
/// @endcode
+ (NSString *)lil_formatTimestamp:(NSTimeInterval)timestamp;

/// 返回一个随机汉字。
+ (NSString *)lil_randomChinese;

/// 返回一个随机小写字母。
+ (NSString *)lil_randomChar;

/// 返回指定数量的随机汉字。
+ (NSString *)lil_createRandomChineseWithNum:(NSUInteger)num;

/// 返回指定数量的小写字母。
+ (NSString *)lil_createRandomWordWithNum:(NSUInteger)num;

/// 返回一个新的字符串，包含直到第一个接收者的内容，但不包括该字符
/// @code
/// [@"info?goods_id=xxx" lil_substringToString:@"?"] => @"info"
/// @endcode
- (nullable NSString *)lil_substringToString:(NSString *)string;

/// 返回一个新的字符串，包含直到/不直到第一个接收者的内容，由 isContain 决定是否包含
/// @code
/// [@"info?goods_id=xxx" lil_substringToString:@"?" isContain:YES] => @"info?"
/// [@"info?goods_id=xxx" lil_substringToString:@"?" isContain:NO] => @"info"
/// @endcode
- (nullable NSString *)lil_substringToString:(NSString *)string isContain:(BOOL)isContain;

/// 返回一个新的字符串，包含第一个接收者直到末尾的内容，但不包括该字符
/// @code
/// [@"info?goods_id=xxx" lil_substringFromString:@"?"] => @"goods_id=xxx"
/// @endcode
- (nullable NSString *)lil_substringFromString:(NSString *)string;

/// 返回一个新的字符串，包含/不包含第一个接收者直到末尾的内容，由 isContain 决定是否包含
/// @code
/// [@"info?goods_id=xxx" lil_substringFromString:@"?" isContain:YES] => @"?goods_id=xxx"
/// [@"info?goods_id=xxx" lil_substringFromString:@"?" isContain:NO] => @"goods_id=xxx"
/// @endcode
- (nullable NSString *)lil_substringFromString:(NSString *)string isContain:(BOOL)isContain;

@end

NS_ASSUME_NONNULL_END
